数据合并为CSV 图片转移逻辑文件

Code logic analysis

  • model: Sonnet 4.5
  • time: 2025/11/6 13:14:35
  • conversationUUID: 4145c238-4a65-48d7-ad86-487e424e7182

human:

分析这段代码的逻辑

file: 未命名附件


assistant:

代码逻辑分析

这是一个气象数据处理脚本,主要处理预测数据的CSV整合概率图的文件管理

📋 核心功能

代码实现了两种时间跨度的数据处理:

  • 6小时数据(h0-h5):短期预测
  • 48小时数据(h0-h47):长期预测

🔄 执行流程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
输入: start_time="202511042000", end_time="202511061900"
(2025年11月4日20:00 ~ 11月6日19:00,共48小时)

┌─────────────────────────────────────┐
│ 第一阶段:6小时处理 │
├─────────────────────────────────────┤
│ 1. 读取 h0-h5 数据文件 │
│ 2. 合并生成 20.csv (6列) │
│ 3. 移动CSV到: .../2025/11/04/ │
│ 4. 【复制】图片到: .../2025/11/04/20/│
│ - 20.png, 21.png, 22.png... │
└─────────────────────────────────────┘

┌─────────────────────────────────────┐
│ 第二阶段:48小时处理 │
├─────────────────────────────────────┤
│ 1. 读取 h0-h47 数据文件 │
│ 2. 合并生成 20_.csv (48列) │
│ 3. 移动CSV到: .../2025/11/04/ │
│ 4. 【移动】图片到: .../2025/11/04/20_/│
│ - 0420.png, 0421.png ... 0619.png│
└─────────────────────────────────────┘

🗂️ 最终文件结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/CMADAAS/.../DATASET/2025/11/04/
├── 20.csv # 6小时CSV(6列:h0-h5)
├── 20_.csv # 48小时CSV(48列:h0-h47)
├── 20/ # 6小时图片目录
│ ├── 20.png # h0图片(复制来的)
│ ├── 21.png # h1图片
│ ├── 22.png # h2图片
│ ├── 23.png # h3图片
│ ├── 00.png # h4图片(跨天到11/5)
│ └── 01.png # h5图片
└── 20_/ # 48小时图片目录
├── 0420.png # h0图片(移动来的)
├── 0421.png # h1图片
├── 0422.png # h2图片
├── ...
└── 0619.png # h47图片(11/6 19:00)

🎯 关键设计特点

特性 6小时处理 48小时处理
CSV命名 HH.csv HH_.csv
图片操作 复制(copy) 移动(move)
图片命名 HH.png DDHH.png
目标目录 .../HH/ .../HH_/

为什么前6小时是复制?

  • 前6小时的图片需要在两个目录中都存在
  • 20/ 目录:用于快速查看短期预测(HH.png格式)
  • 20_/ 目录:包含完整48小时预测(DDHH.png格式)

📊 数据流向

数据源:

1
2
3
4
/home/nmic/work/project/src/test_dir/results/ST_GLNet-025/
├── 202511042000_h0 # 原始预测数据文件
├── 202511042000_h1
└── ...

图片源:

1
2
3
4
/home/nmic/work/project/results/plot/
├── 2025110420​00/probability_map_2025110420​00_heat.png
├── 2025110421​00/probability_map_2025110421​00_heat.png
└── ...

⚠️ 注意事项

  1. 时间跨度固定:代码假设输入必须是48小时
  2. 文件依赖性:如果源文件缺失,整个流程会失败
  3. 移动操作不可逆:48小时图片被移动后,原位置不再保留
  4. 跨天处理:图片命名会自动处理跨天情况(如20:00开始会有00.png, 01.png等)

这个设计适合需要同时维护短期快速查看长期完整记录两种数据访问模式的场景。